/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hxg.portmgr.core.oper.snmp.oidgroup;

import hxg.portmgr.core.oper.snmp.param.Param;
import org.snmp4j.smi.OID;

/**
 *
 * @author hxg
 */
public enum SysOID implements OidEntry, Param {

    sysDescr(new OID("1.3.6.1.2.1.1.1.0")) {
        @Override
        public String chsname() {
            return "系统描叙";
        }
    },
    sysObjectId(new OID("1.3.6.1.2.1.1.2.0")) {
        @Override
        public String chsname() {
            return "系统型号";
        }
    },
    sysUpTime(new OID("1.3.6.1.2.1.1.3.0")) {
        @Override
        public String chsname() {
            return "系统上线时间";
        }
    },
    sysContact(new OID("1.3.6.1.2.1.1.4.0")) {
        @Override
        public String chsname() {
            return "联系方式";
        }
    },
    sysName(new OID("1.3.6.1.2.1.1.5.0")) {
        @Override
        public String chsname() {
            return "系统名称";
        }
    },
    sysLocation(new OID("1.3.6.1.2.1.1.6.0")) {
        @Override
        public String chsname() {
            return "系统位置";
        }
    },
    sysServices(new OID("1.3.6.1.2.1.1.7.0")) {
        @Override
        public String chsname() {
            return "系统服务";
        }
    };

    private SysOID(OID oid) {
        this.oid = oid;
    }
    final private OID oid;

    @Override
    public OID getOID() {
        return oid;
    }

    @Override
    public String oidValue() {
        return oid.toString();
    }

    @Override
    public String unit() {
        return "";
    }

    @Override
    public RemoteValueType remoteValueType() {
        return RemoteValueType.StringValue;
    }

    @Override
    public OID getAppendOID(OID appendOid) {
        return (new OID(oid)).append(appendOid);
    }

    @Override
    public Param getParamType() {
        return this;
    }
}
